package com.cynteka.cyfoman.core.collection;

/**
 * User: Sergey
 * Date: 29.07.11
 * Time: 17:23
 */
public interface ISQLGenerator {
    String generateSimpleSelect(String tableName);

    String generateSelectByFieldName(String tableName, String fieldName);

    String generateSelectByFieldNameIsNull(String tableName, String fieldName);

    String generateSelectByChildId(String tableName, String fieldIdName, String fieldReferenceName);

    String generateSelectThroughCrossTable(String crossTableName, String sourceCrossFieldName, String destinationTableName, String destinationCrossFieldName, String destinationIdFieldName);

    String generateSelectReferenceTable(String destinationTable, String referenceFieldName);

    String generateSelectByChildId(String sourceTableName, String sourceIdFieldName, String destinationTableName, String destinationIdFieldName, String referenceFieldName);
}
